/*
 * odtExport - Экспорт из odt в html
 * Copyright (C) 2011 Камнев Георгий Павлович
 *
 * Это программа является свободным программным обеспечением. Вы можете
 * распространять и/или модифицировать её согласно условиям Стандартной
 * Общественной Лицензии GNU, опубликованной Фондом Свободного Программного
 * Обеспечения, версии 3 или, по Вашему желанию, любой более поздней версии.
 * Эта программа распространяется в надежде, что она будет полезной, но БЕЗ
 * ВСЯКИХ ГАРАНТИЙ, в том числе подразумеваемых гарантий ТОВАРНОГО СОСТОЯНИЯ ПРИ
 * ПРОДАЖЕ и ГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОГО ПРИМЕНЕНИЯ. Смотрите Стандартную
 * Общественную Лицензию GNU для получения дополнительной информации.
 * Вы должны были получить копию Стандартной Общественной Лицензии GNU вместе
 * с программой. В случае её отсутствия, посмотрите <http://www.gnu.org/licenses/>.
 */

package tv.cofe.odt.style

class Property( val name:String, val value : String = null ) {
    private var _children : List[Property] = List();

    /**
     * Описывает вложенные дочерние свойства
     */
    def children() : List[Property] = _children;

    /**
     * Добавляет дочернее свойство
     */
    def add( child : Property ) : Unit = {
        _children = child :: _children;
    }

    override def toString() : String = {
        val sb = new StringBuilder();
        sb.append(name);
        if( value!=null ){
            sb.append("=\"");
            sb.append(value);
            sb.append("\"");
        }
        if( children.size>0 ){
            sb.append("{\n");
            for( c <- children ){
                sb.append( c.toString );
                sb.append( "\n" );
            }
            sb.append("}")
        }
        sb.toString;
    }
}
